Systems and Methods for Recommending Third Party Products and Services

ABSTRACT

Systems and methods for recommending third party products and services. The method includes the steps of ranking the third party products and services based on one or more factors, and generating a user profile based on one or more user-related factors. Next, the method determined appropriate third party products and services based on the user&#39;s geographical location and filters the third party products and services based on the user profile and the user&#39;s geographical location. These filtered results are dynamically ranked based on the user profile, and personalization of the third party products and services. Finally, the method provides the ranked results pertinent to the end user&#39;s preferences, and the geographical location.

TECHNICAL FIELD

The present application relates generally to acquisition of products andservices, and more particularly to electronic ranking and acquisition ofproducts and services provided by, third parties via an orderfacilitation service.

BACKGROUND

Residents of any property relocate or move from time to time. Suchrelocations may involve worldwide, interstate, intrastate, or localmoves. Regardless of the geographical bounds of the move, uponrelocating tenants frequently engage in a substantial effort to acquireutilities and other services such as Internet service, electricity,television services, telephone services, and other similar products andservices. Further, even if a resident is nor relocating, he or she maywant to change his or her service provider for a given service,disconnect a service her or she is not satisfied with, or simply acquirea new service from time to time.

Often, residents are unaware of all the services and products availableat their current or future addresses, the price plans associated withthose products and services, and so on. The residents may ask helpfulneighbors about available services, contact individual serviceproviders, or conduct extensive research (e.g., online) to select themost suitable product or service provider. Such research is oftentedious and time-consuming. Further, if the resident wishes to acquiremore than one service, he or she must contact each service providerindividually, which typically involves numerous phone calls, and lengthyinterviews with customer service representatives. Furthermore, there isno easy way to shop and compare such goods and services, and at the sametime be able to automatically and immediately place orders with aselected service provider, from one common place. A resident may have tocontact numerous service providers individually, take notes, compareprices, and finally call back the selected provider and place an orderonce the best product or service has been identified for the resident'sneeds.

Additionally, even if a resident conducts extensive research to identifywhat are believed to be the best product or services for the particularresident, there is no guarantee that the most optimal products orservices are in fact identified for the particular resident's needs. Forexample, the resident may believe he or she has located the cheapesttelevision service in his or her geographic area, but there could beother cheaper services of which the resident is totally unaware.Currently, there is simply no service that assists users in identifyingand selecting optimal products and/or services available to the user'saddress based on user preferences, product and service information,popularity of product or service information, etc.

Therefore, there is a long-felt but unresolved need for a system ormethod that interacts with a user to combine and analyze various sourcesof disparate information relating to third party products and servicesoffered to a user's address or geographic location, and suggest optimalproducts or services to the user based on the collected information toenable the user to select the most appropriate product(s) or service(s)that fit his or her needs. There is a further need for a system ormethod that assists product and service providers in identifying themost desired and most profitable products and services offered toconsumers.

BRIEF SUMMARY

Briefly described, and according to one embodiment, the presentdisclosure describes a computer-implemented method for providingrecommendations to a user for a number of third party products andservices. Initially, the third party products and service are rankedbased on one or more factors, and a user profile is generated based onone or more user-related factors. Next, appropriate third party productsand services are determined based on the user's geographical location,and those appropriate third party products and services are filteredbased on the user profile and the user's geographical location. Thesefiltered results are dynamically ranked based on the user profile, and apersonalization of the third party products and services. Finally, themethod provides the ranked results pertinent to the end user'spreferences, and the geographical location.

Another embodiment of the present disclosure presents a system forproviding recommendations to a user for a number of third party productsand services. The system includes a product-ranking engine for rankingthe third party products and services based on one or more factors, anda profile engine for generating a user profile based on one or more userrelated factors. Further, a location engine sorts the third partyproducts and services based on the geographical location of the user,while a filtering engine filters the third party products and servicesbased on the user profile, and the geographical location of the user.The system further includes a recommendation-ranking engine fordynamically ranking the filtered third party products and services basedon the user profile, and the personalization of the third party productsand services, and an output engine for providing the user with a list ofranked third party products and services pertinent to the end user'spreferences, and the geographical location.

Certain embodiments of the disclosure may provide various technicaladvantages. For example, certain embodiments may allow users to make anintelligent decision based on one or more parameters associated with theproduct, with their lifestyle, financial position, and their address.Further, other embodiments of the system may allow the service providersto improve their sales based on product and service rankings, userpreferences, and user requirements.

These and other aspects, features, and benefits of the claimedinvention(s) will become apparent from the following detailed writtendescription of the preferred embodiments and aspects taken inconjunction with the following drawings, although variations andmodifications thereto may be effected without departing from the spiritand scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate one or more embodiments and/oraspects of the disclosure and, together with the written description,serve to explain the principles of the disclosure. Wherever possible,the same reference numbers are used throughout the drawings to refer tothe same or like elements of an embodiment. The drawings areillustrative in nature and are not necessarily drawn to scale.

FIG. 1 is a block diagram illustrating an exemplary system forelectronic acquisition of products and services provided by an orderfacilitation service.

FIG. 2 is a flowchart illustrating an exemplary method for electronicacquisition of products and services provided by an order facilitationservice.

FIG. 3 illustrates an exemplary user identification screen.

FIG. 4 illustrates an exemplary user information retrieval screen.

FIG. 5 illustrates an exemplary listing of products and servicesavailable at a given address.

FIG. 6 is a screenshot of an exemplary list of ordered recommendations.

FIG. 7 illustrates an exemplary list of available service plans at ageographical location.

FIG. 8 illustrates an exemplary provider integration page.

FIG. 9 illustrates an exemplary purchase order summary report.

FIG. 10 is a block diagram illustrating an exemplary system forrecommending third party products and services to end users.

FIG. 11 illustrates an exemplary products and services database schema.

FIG. 12 illustrates an exemplary order history database schema.

FIG. 13 illustrates an exemplary product engine according to oneembodiment of the present disclosure.

FIG. 14 illustrates an exemplary user information database schema.

FIG. 15 illustrates an exemplary user profile engine according to oneembodiment of the present disclosure.

FIG. 16 is a schematic illustrating an exemplary address database.

FIG. 17 illustrates an exemplary personalization engine according to oneembodiment of the present disclosure.

FIG. 18 is a flowchart illustrating an exemplary method for recommendingthird party products and services to an end user.

FIG. 19 is a flowchart illustrating an exemplary method for rankingthird party products and services.

FIG. 20 is a flowchart illustrating an exemplary method for profilingend-users.

FIG. 21 is a flowchart illustrating an exemplary method forpersonalizing third party products and services based on user address.

DETAILED DESCRIPTION

For the purpose of promoting an understanding of the principles of thepresent disclosure, reference will now be made to the embodimentsillustrated in the drawings and specific language will be used todescribe the same. It will, nevertheless, be understood that nolimitation of the scope of the disclosure is thereby intended; anyalterations and further modifications of the described or illustratedembodiments, and any further applications of the principles of thedisclosure as illustrated therein are contemplated as would normallyoccur to one skilled in the art to which the disclosure relates. Alllimitations of scope should be determined in accordance with and asexpressed in the claims.

System Overview

Embodiments of the present disclosure generally relate to aspects of anelectronic (e.g., Internet-accessible) system (e.g., an orderfacilitation service) that facilitates acquisition ofgeographically-determined third party products and services toconsumers. According to one embodiment, the system includes operativeconnections to a plurality of product and service providers, andcoordinates and offers products and services of those product andservice providers to users of the system. For example, if a userrelocates his or her residence from Dallas to Atlanta, the user canaccess the electronic system (e.g., via the Internet, or via a phonecall to a call center, which accesses the electronic system) to arrangefor disconnection of existing residential or business services such astelephone, cable TV, satellite TV, Internet, trash pickup, security,electricity, gas, pest control, other utilities, and so on, andreconnection of similar services in Atlanta. Or, if a user simply wishesto add a new product or service to his or her existing location, orchange an existing service, he or she can do so via the electronic orderfacilitation system. In this way, a user is able to transfer existingproducts and services, order new products and services, or cancelproducts and services offered by a plurality of different product andservice providers from one central facilitation system.

Further, according to one aspect, the electronic order facilitationsystem receives data from a variety of different sources (e.g.,publicly-available census data, product and service data provided byproduct and service providers, stored data based on previous userorders, etc.), and analyzes that data according to predetermined rules,factors, etc., to provide a user with a ranked list of suggested oroptimal product and service offerings that are tailored to the specificuser's needs and preferences (described in greater detail below).According to one aspect, the system automatically selects the mostoptimal or appropriate (e.g., highest ranked) product or service foreach product or service type of which the user is interested, andsuggests or automatically populates a user's order with the selectedproducts or services.

According to an additional aspect, over time as users order numerousproducts and services via the electronic system, the system storesinformation relating to those orders, and subsequently provides thatorder history information to third party product and service providersfor further use. Specifically, and for example, the electronic servicemay provide order history information, user preference information,product or service rankings, popularity information of certain productsor services, and other similar types of information to the third partyservice providers, enabling the providers to analyze their products andservices based on the received information to improve the quality oftheir products and services, sales, and profit margins. For example, inone geographical location such as Atlanta, the electronic system maydetermine that most users prefer Telco's Internet service because of thecost benefits offered and because Telco provides excellent customersupport service. Other Internet service providers can analyze Telco'sservice plans along with their own service plans to optimize their plansfor better customer satisfaction, and in turn higher sales.

Turning now to the figures, FIG. 1 illustrates an embodiment of anelectronic system 100 for providing and recommending third partyproducts and services to users (i.e., an order facilitation andrecommendation service), as described in detail herein. As shown, thesystem 100 includes a computing system 102 operatively coupled to one ormore third party product and service provider(s) 104, user(s) 106,address or location source(s) 108, and other external informationsource(s) 110 through a network (e.g., internet) 112. Although notspecifically shown, it will be understood by one of ordinary skill inthe art that, according to one embodiment, users 106 access theelectronic system 102 via the network 112, or via a call center, etc.For purposes of the present disclosure, the term “user” is generallysynonymous with “customer” or “consumer”.

As shown, the computing system 102 maintains one or more database(s) 114that store information from the sources 104-110. The databases 14 mayinclude a customer (or user) information database 116, a capabilitiesdatabase 118, a products and services database 120, an address database122, and an order history database 124. Generally, the computing system102 retrieves information from the sources 104-110 and populates theretrieved information in the databases, based on system requirements. Aswill be understood, these databases may be updated in real time or on anintermittent basis. As will be further understood, the specificdatabases shown and described and intended to be illustrative only, andactual embodiments of the present system include various databasestructures, schemas, etc.

Depending on the particular embodiment, the network 112 may be theInternet, providing interaction capabilities between the various sourcesand the computing system 102, a private network (such as a VPN), a PSTNsystem (providing call center capabilities), a mobile network, or acombination of these networks. For example, the computing system 102 canhave both Internet connectivity, as well as call center capabilities toservice users. Some users may prefer to use the Internet for serviceacquisition, while other users, who may not be as adept or familiar withthe Internet, may prefer to use the call center facility (not shown).According to one embodiment, the call center employs customer servicerepresentatives (CSRs) that interact with the user, obtain informationfrom the user, and provide information (e.g., suggested products andservices) to the user to obtain the requested products and services.

The customer information database 116 generally includes informationpertaining to each user 106, such as user identification number,preferences and details associated with that user, the user's purchasehistory of products and services ordered through the computing system102, current, future, and previous address information (if available),financial information (e.g., credit history), and other similar types ofinformation. This information may be retrieved from a variety ofsources, such as the user 106, previously-stored information in thecomputing system 102, financial institutions, publicly-available datasources, or other information sources known in the art. For example, auser's purchase history can be retrieved from the computing system 102every time an order is placed via the order history database 124.Financial information, on the other hand, may be obtained from eitherthe user 106, or some financial institutions. It will be understood thatother information sources may also be used to obtain user relatedinformation—for example, census information can be utilized to gatherinformation such as the number of family members of the user, familyincome, and other user-related information.

The address database 122 may include extensive information about eachuser's address or addresses, or all of the physical addresses in a givengeographic area. The information relating to the addresses stored in theaddress database 122 may include address characteristics (such aswhether the location is a business address or a household, an apartmentor a home, etc.), the size of the residence, the floor plan, the numberof rooms, the size of a lot, or other similar information. Thisinformation may be retrieved from the users 106 or the address source(s)108, such as real estate sources, city plans blueprints, census data,city authorities, or any other known sources.

Similarly, information pertaining to the third party products andservices is stored in the products and services database 120. Thisinformation may be directly retrieved from the third party product andservice providers 104 or from other external sources 10. For example,the products and services database 120 may include information about theproducts and services offered (e.g., prices of plans, plan specifics,features, etc.), geographical areas serviced, special offers orpromotions from the service providers 104, and other similarinformation. Further, information such as product or service popularity,user ratings, order history of each product or service, product reviews,etc., may be stored in the products and services database 120, or may beretrieved from other external sources 110 or other system databases(e.g., the order history database 124) that store details of orders madethrough an embodiment of the computing system 102.

Still referring to FIG. 1, the capabilities database 118 usesinformation from the products and services database 120, the addressdatabase 122, the service providers 104, and the users 106 to build across-referenced database of various capabilities required for differentproducts and services stored in the products and services database 120,and their potential for availability at the addresses in the addressdatabase 122. For example, if a certain Internet provider provides a DSLconnection, then us an entry for that service provider, the capabilitiesdatabase 118 may store a “cable connection required” identifier. As afurther example, if capability information is available for an address,the capabilities database 118 maintains a list of capabilitiescorresponding to that address, such as “telephone connection present”,or “no gas connection”. Or, certain products or services may not beavailable in certain areas, and thus the capabilities information forthose products and services will indicate that those products andservices cannot be ordered for those areas. Thus, each product orservice, user address, etc., may be associated with predetermine rulesor criteria that dictate an availability for a given product or servicein a particular area or for a particular address

The capabilities information stored in the capabilities database 118 isuseful to determine the most appropriate product or service for a user106. For example, if a user's household already includes a telephoneconnection, it may be advisable to select an Internet service providerthat provides telephone cable connection, rather than a service providerthat provides only LAN-based connections. This capabilities informationmay be retrieved from address sources 108, service providers 104, fromthe users 106 directly, or from other sources as will occur to one ofordinary skill in the art.

Still referring to FIG. 1, in addition to the databases, one embodimentof the computing system 102 includes a user interface 126 and afacilitation module 128. Generally, the user interface 126 allows users106 to access the computing system 102, input information and detailsinto the system regarding the user or the user's address (e.g., userpreferences, address information, a customer identification number,etc.), and request, review and order products and services. For example,if a user 106 desires to acquire an electrically connection at his orher home, the user interface 126 may display an ordered list ofelectricity connection providers, along with their plans, based onanalysis of disparate information (described in greater detail below).According to one embodiment, rather than the user accessing the userinterface 126 via the network 112, the user may contact a call centerand a customer representative may assist the user in ordering variousproducts and services (e.g., a user interface may be displayed to thecall center representative). Example screen shots illustrating varioususer interface screens are shown in FIGS. 3-9.

The facilitation module 128 includes an algorithm or other systemcomponents that enables a user to review, transfer, cancel or purchasethird party products and services. Generally, the facilitation moduleinteracts with databases 114 and other information sources (describedherein and as will occur to one ordinary skill in the art) to identifythird party products and services available to a given user based on theuser's location, and enable a user to select and order such products andservices directly (i.e., without having to contact the third partyproduct and service providers individually).

Additionally, in one embodiment, the facilitation module 128 includes aconsumer engine 130 that recommends the most suitable products andservices and/or service providers 104 to the users 106 based on userpreferences, profitability goals, popularity of products or services,etc. Specifically, the consumer engine 130 generates an ordered list ofproducts or services based on user preferences, user location, userinformation, product and service information, etc., by performingextensive analysis and calculations on this and other information fromthe customer information database 116, the capabilities database 118,the products and services database 120, the address database 122, theorder history database 124, and other information sources. The orderedor ranked list is intended to represents products or services that agiven user is most inclined to purchase or most fits the user's needs.The details associated with the consumer engine 130 and itsfunctionality are described in greater detail below.

Additionally, as will be understood, the facilitation module 128includes other engines, modules, and functionality not described hereinas will occur to one of ordinary skill in the art. Further, theelectronic system 100 is not intended to be limited by the specificinformation sources, databases, engines, and other components shown anddescribed herein. As will be understood and appreciated, thearchitecture of the system 100 may vary as will occur to one of ordinaryskill in the art.

FIG. 2 illustrates an exemplary, high-level order facilitation andrecommendation process 200 according to one embodiment of the presentsystem 102. For the exemplary process, it is assumed that a user, suchas user 106 associated with address-A 136 (see FIG. 1), relocates fromaddress-A to address-B 138. Although, as will be understood andappreciated, no relocation is required in order to utilize aspects ofthe present system 102. At address-A 136, the user 106 had a satellitetelevision connection 140, and a telephone connection 142, which theuser wishes to disconnect or transfer to his or her new address. Asshown at the new address (address-B 138), the user wishes to transferthe satellite 150 and telephone 144 services (potentially to new serviceproviders with new service plans), and install new services such as a anInternet connection 146 and electricity 148. As described previously, auser may or may not know which products or services he or she wishes toinstall at his or her new residence, and thus the order facilitation andrecommendation process 200 carried our by rte facilitation module 128assists the user in selecting and ordering such products and services.

To this end, and referring to FIG. 2, at step 202, the user 106 accessesthe computing system 102 via the network 112 and the riser interface126, and provides identification details to gain access the computingsystem 102. FIG. 3 illustrates an exemplary “log-in” or useridentification screen, which requests user information. The userinterface 126 (e.g., FIG. 3) may have drop down menus, service buttons,or may require the user 106 to type in a query or response. Uponauthorization, the user 106 is prompted for location information for theaddress at which a product or service is requested (step 204) (see FIG.4). In some cases, if the user 106 is a regular customer, the user'sinformation may be up-to-date in the databases, and the user 106 may notbe required to enter any information into the address screen (step 206).Alternatively, the user interface 126 may display the user's last savedaddress along with other details and prompt the user to verify thesedetails.

After the system 102 has identified the particular user and address ofthe user, at step 208, the facilitation module 128 retrieves data fromone or more databases 114 to determine products and services availableto the user. In some cases, the retrieved information may be filteredbefore any analysis. For example, if the user 106 requires informationabout Internet, phone service, electricity, and cable services,information pertaining to service providers 104 that do not providethese services may be discarded. The retrieved product and serviceinformation may be further filtered by the user's address. If anyservice is not available at the user's address, information pertainingto that service can also be discarded. It will be understood thatvarious other filters may be applied to the data based on user inputs,or preferences, without departing from the scope of the presentdisclosure.

To install new products or services, the user 106 may want to know ofall the services available at the new address (e.g., address-B 138), andthe most appropriate services from the available list. At step 210, thefacilitation module 128 generates a list of available products andservices at address-B 138 based on the information retrieved during step208. FIG. 5 illustrates an exemplary screen shot listing product andservice types available at a given address. As shown, the user is ableto select types of products or services in which the user is interested(step 212).

According to one embodiment, rather than simply presenting a list of allavailable products and services to a user, the facilitation module 128(specifically, the consumer engine 130) analyzes various retrievedinformation, along with the user's preferences to provide analyzedresults to the user 106 via the user interface 126 (step 214).Specifically, based on the user's preferences and address-B 138capabilities, the consumer engine 130 recommends products or services158 to the user 106. These recommended products or services are intendedto meet a desired objective (e.g., best suited for user's needs, mostprofitable services, etc.). The results may include a ranked list 160 ofservice providers, or product and service plans based on userpreferences and ranking factors, a comparison report 164 of differentproviders or products and other similar results (described in greaterdetail below), FIG. 6 illustrates an exemplary ranked list 160 ofproducts and services. Here, for each user preference service, theconsumer engine 128 provides an ordered list. Based on theserecommendations, the user 106 can make an educated decision regardingwhich service he or she wishes to purchase. Moreover, the user 106 doesnot have to visit multiple service providers 104, provide personaldetails to each vendor separately, or compare prices manually as theelectronic system 100 aids the user 106 in all decisions pertaining toutility services or products. Details associated with ranking andsuggesting particular products or services are described in greaterdetail below.

According to an alternate embodiment, rather than providing a rankedlist of suggested products or services, the facilitation module 128simply presents all products or services (e.g., of a given type, oroffered by a particular provider) to the user. For example, as shown inFIG. 7, all services potentially available at address-B 138 offered byTelco are shown.

In one embodiment, if the user 106 selects any service or product fromeither the ranked list or unranked list, such as a telephone service,the computing system 102 may interact directly with the service provider104 that offers that service, in real time, to access particular userinformation, plan information, or service information. FIG. 8illustrates an exemplary user interface pop-up screen requesting detailsfrom the user. Here, the user may be asked questions relating to currentphone services used. Further, the computing system 102 may request theuser's permission to access his or her records from his or her currentphone service provider.

Additionally, if the user 106 selects a particular product or serviceplan from the list of available plans (e.g., from the Telco plans shownin FIG. 7, or the ranked cable service plans shown in FIG. 6), then thecomputing system 102 may update user or service information via theservice provider's web portal. For example, if the user 106 wishes tomodify a local telephone plan with Telco, the computing system 102 maydirectly connect to the TELCO website, login, change the user's serviceplan, make payments, and update the user's connection plan. Further, inthe user requests an additional phone line, the system can requestinstallation services with the Telco website. In this manner, thecomputing system can efficiently interact with all the service providers104, request installations, disconnections, or upgrades, in real time,in effect reducing or eliminating user interaction with individualservice providers.

Alternatively, the computing system 102 may receive the user's selectionof a plan and store this information. Later, the computing system 102may retrieve this information and provide an update to the associatedservice provider 104 with the user's selection. This update may becarried out through the Internet, via a phone call to a representativeof the service provider, via a third party agent, or through any othercommunication method. Once the user's order is confirmed, the userinterface 126 may provide a summary of the products or services ordered.FIG. 9 illustrates an exemplary table 900 indicating the user'sacquisition summary. This information is stored in the customerinformation database 116 and the order history database 124 for futurerecommendations to the same or other users.

Having described the general functionality of an embodiment of thecomputer system 102, facilitation module 128, and other relatedcomponents, a detailed description of an embodiment of the consumerengine 130 is described in detail below.

Exemplary Consumer Engine

Generally, the consumer engine 130 comprises an enterprise-wideframework for offering and recommending optimal third party products andservices to a user 106 based on a series of parameters related toproduct characteristics, user demographics, dwelling characteristics,financial implications, user preferences, and other similar parameters.In a basic illustrative example, if a user preference is for a gasutility connection, and the user 106 resides in New York, the consumerengine 130 can perform calculations on the data retrieved from thedatabases 114, and input by the user 106, to generate an ordered list ofgas service providers in New York. As will be understood andappreciated, the products and services may be ranked based on a varietyof factors and information, as described herein and as will occur to oneof ordinary skill in the art. For example, the list of products andservices may be ordered based on one or more parameters such aspopularity of each product or service, specific details of each productor service (e.g., price), offers or promotions associated with eachproduct or service, the user's financial position and credit history,the user's previous product or service providers, previous user address,home capabilities, capabilities required (for the service, and otherpertinent parameters. In one embodiment, products and services thatachieve a certain recommendation score may be highly suggested to users,whereas others may only be moderately suggested, or not suggested atall. By presenting intelligent recommendations and personalizingofferings to consumers, the consumer engine 130 cart provide an optimaland personalized experience to consumers.

FIG. 10 is a block diagram illustrating an exemplary consumer engine 130with associated databases. In the embodiment shown, the consumer engine130 comprises a product engine 1002, a location engine 1004, a userprofile engine 1006, a filter 1008, and a recommendation engine 1010. Asshown, inputs to the consumer engine 130 include information in theorder history database 124, the products and services database 120, theaddress database 122, and the customer information database 116.Generally, the consumer engine 130 utilizes all of the engines and datainputs shown in FIG. 10 to determine and identify the optimal productsand services for each particular customer. As will be understood and asmentioned previously, however, the consumer engine architecture shown inFIG. 10 is but one embodiment of the consumer engine, and is notintended to limit particular databases, engines, modules, othercomponents used in other embodiments.

Generally, the product engine 1002 ranks products or services offered byservice providers 104 based on data retrieved from the products andservices database 120 and the order history database 124. The data mayinclude several factors such as specific information about each productor service (e.g., price, features, provider, etc.), past financialcharacteristics of each product or service provider offering the productor service, revenue per order associated with each product, profitmargins, consumer experience, sales or promotions offered, productratings, user reviews, popularity growth in a region for a product, andso on.

Ranking products or services facilitates optimization for sale ofproducts or services. Further, the product engine 1002 optimizes productmix by recommending products that are more favorable to allconstituents—end users, partners, and the enterprise. This optimizationhelps maximize sales yield and improve consumer experience.

Ranking products across different service providers 104 also helpscreate a true home services marketplace focused on the end user. Utilityservice providers can view the product's position in the marketplace andoptimize their products by altering key drivers such as promotions, userexperience, and installation rates to increase the appeal of theirproducts or services. This mechanism effectively creates a marketplacethr the service providers 104, and can lead to a feedback loop thatwould improve the consumer experience and profitability fir the serviceproviders 104. Further details of the product engine 1002 are describedbelow in conjunction with FIG. 13.

Still referring to FIG. 10, one embodiment of the user profile engine1006 classifies users into one or more categories based on external andinternal parameters such as demographic data, purchase history, creditscores, and other similar parameters. Depending on the particularembodiment, the user profile engine 1006 can be configured to profileusers into address-based categories, financial status-based categories,or based on their purchase history. Other categorizations can also becontemplated and will not be outside the scope of the presentdisclosure.

This user classification determined by the user profile engine 1006 canbe used to identify the most appropriate products or services for agiven user. For example, if a user is in an “affluent” class (based onthe use's credit score, purchase history, etc.), then it may bedetermined that the user may be more interested in higher-end productsor services. Thus, lower-end products or services may not be presentedto the user (or may be presented further down a ranked list as “notrecommended”, etc.).

In addition to presenting the most appropriate products or services to auser, the output of the user profile engine 1006 can also be used tohandle other situations such as managing call overflow in customersupport centers (e.g., call center) for the order facilitation service100. For example, in an overflow situation in which the facilitationservice is experiencing a high volume of customer calls, high valuecustomers can be directed to a qualified agent, medium value customersto an interactive voice response (IVR) service (which can qualify theirinterest in certain products or services), and low value customers canbe placed on hold. User segmentation and filtering can also be performedbased on the output of the user profile engine 1006, where calls from aparticular location (e.g., zip code) are forwarded to productspecialists depending on product availability. For example, a call froma non-cable zip code can be forwarded to a satellite TV agent. Anotheradvantage of profiling users is to match users to specific agent typesto gain maximum yield. For example, high profile customers can bedirected to high-performing agents, medium profile customers toaverage-performing agents, and low profile customers to low-performingrecruits. Further details of the user profile engine 1006 are describedbelow in conjunction with FIG. 15.

Still referring to FIG. 10, the location engine 1004 uses addressinformation from the address database 122 to understand thecharacteristics of a user's residence or location and which services areavailable at that address to personalize and offer relevant products orservices to the user based on the user's residence. Attributes of theaddress (or residence at the address) such as size, type, number ofrooms, year built, and lot size can be used to determine which productsbest meet the customer's needs. For example, home warranty products canbe offered to users who live in older homes instead of users that livein relatively newer homes, as it would be expected that older homes mayexperience more problems. Further, understanding the relative home sizecombined with the general neighborhood crime rates can help determinewhether home security related products or services would appeal to acertain user. Offering tailored products and services helps the consumerobtain the most appropriate products or services, build trust, increasesales probability for the facilitation service 100 and the product andservice providers 104, and reduce handle time and other costs that inturn result in optimal user experience. Obtaining additional informationabout previous products connected in the user's home from differentservice providers 104 can also be used to offer the most appropriatesolutions. As a specific example, if prior wiring of a home for homesecurity is known, the personalization engine 1004 can recommend a homesecurity product to the new user based on reduced installation costs andlogistical overhead. Further details of the location engine 1004 aredescribed below in conjunction with FIG. 17.

According to one embodiment of the present system, the filter module1008 is composed of one or more rules and policies for filtering theresults of the product engine 1002, location engine 1004, and userprofile engine 1006, using a number of parameters. For example, userpreference can be one parameter to filter the results generated by theproduct engine 1002. Alternatively, user address may be a secondparameter to filter products and services. As an additional example,although the product engine 1002 indicated that a certain product wasthe most optimal for a given customer based on the customer's needs,that product may not be available at the customer's residence, and thusthe filter 1008 will remove that product from the ranked list ofproducts. As a yet further example, certain products or services may beremoved from a ranked list based on user profile information (e.g., alow-value customer may be presented with less-costly product and serviceoptions). It will be understood that the filter can include parametersthat can be applied on the input data separately or in combination toachieve a desired result. Examples of parameters include house size,house capabilities, capabilities required by the product or service, anduser financial status. The functionality of the filter module 1008 isdescribed in greater detail below.

Still referring to FIG. 10, an embodiment of the recommendation engine1010 produces a ranked list of products and services, such as the rankedlist 160 based on the output of the product engine 1002, the userprofile engine 1006, and the personalization engine 1004. The resultscan be displayed to the user as an ordered list or table, pie charts,graphs, or using color-coded schemes. An exemplary ranked list is shownin FIG. 6, described previously. In a customer support scenario, anagent can provide the results to the user orally, along with systemrecommendation. For example, the ranked list shown in FIG. 6 includescolors of “green”, “yellow”, “red”, and “grey” for each ranked productor service. A “green” color may indicate a product or service that ishighly recommended for that particular user, a “yellow” may indicate aproduct or service that is only moderately-recommended, “red” mayindicated a product or service that is not recommended, and “gray” mayindicated no recommendation. A call center representative can use thiscolor-coding functionality to quickly identify optimal products andservices to recommend to the given customer. As will be understood,other ranking schemes and mechanisms may be used as will occur to one ofordinary skill in the art.

Along with the ranked recommendations, the recommendation engine 1010can generate a report that provides users with details of the rankedproducts, their advantages, and reasons illustrating the suitability ofthe product or service to the user. Users 106 may browse through theresults, their details, and recommendations to decide which product orservice they would like to acquire. In another embodiment, the mostoptimal product or service may be automatically ordered for a particularconsumer, or an ordering screen may be pre-populated with the mostoptimal product or service.

Users 106 can notify the computing system 102 of their selection and thecomputing system 102 may navigate the user 106 through a service/productacquisition procedure (e.g., as described previously in conjunction withFIGS. 2 and 7-9). If the user decides to purchase a product on the list,the order information is provided back to the consumer engine 130 andstored in the order history database 124 for future use. For example, ifthe user selected the third option on the list as compared to the firstoption, the consumer engine 130 may assess the reasons for the user'schoice (e.g., via a consumer survey, or by identifying patterns inselected options), and use this information to provide better results inthe future. In this manner, the consumer engine 130 continuously learnsfrom the user inputs and choices to provide better recommendations tothe user. For example, it may be determined based on analysis of orderhistory data that users are more interested in the price of an Internetservice plan as compared to the data rate it provides. Then, thisinformation can be stored, and the next time the user accesses thesystem, the consumer engine 130 may dynamically increase the weightsassociated with the price parameter and decrease the weights associatedwith the data rate parameter, to provide service plans that better suitthe user 106 (further details relating to weighting of parameters toidentify optimal products and services are discussed below). Further,users 106 can provide feedback based on the results, which can again beused by the consumer engine 130 to optimize its results andrecommendation process.

Exemplary Products and Services Database

FIG. 11 illustrates an exemplary products and services database schema1100. As described, this product and services database provides inputinformation into the product engine 1002. According to one embodiment,the products and services database 120 may store data in a relationalfashion. A typical relational database includes a plurality of tables,each table containing a column or columns that other tables can link toin order to gather information from that table. By storing thisinformation in another table, the database can create a single smalltable with the locations that can then be used for a variety of purposesby other tables in the database. FIG. 11 illustrates some exemplarytables that may be present in the products and services database 120. Itwill be understood, however, that the number of tables, specific tablesshown, data in the tables, and the relation between the tables may varydepending on the particular embodiment, without departing from the scopeof the present disclosure.

As shown in FIG. 11, the schema 1100 includes a product or servicemaster table 1102, which includes a list of all the products or servicesoffered by the computer system 102. Each product or service isassociated with a unique service identification number (SID). The mastertable 1102 can be related to one or more other tables through the uniqueSID. For example, the master table 1102 may be related to a serviceprovider table 1104 that stores data of all the available serviceproviders 104 for a particular service. In this example, the serviceprovider table 1104 depicts all the Internet service providers availablein the electronic system 100. Each service provider 104 is associatedwith a unique provider identification number (PID). The service providertable 1104 in turn may be related to other tables that include detailsabout the service providers 104, such as addresses, contact details,geographical areas serviced, and the like. For instance, the serviceprovider table 1104 may be related to a plan details table 1106. Thistable stores additional information related to the service providers 104and individual plans offered by the service providers 104. Someexemplary data fields may be plan name, price, plan details,capabilities required, plan popularity, plan reviews, and promotionsoffered. Other data fields (not shown) may include data rates offered,installation charges, and other pertinent data fields. As will beunderstood and appreciated, virtually any type of data or informationrelating to products and services offered by the facilitation system 102may be stored in the product and service database 120.

Exemplary Order History Database

FIG. 12 illustrates an exemplary order history database schema 1200. Aswith the exemplary products and services database 120, the order historydatabase generally provides information to the product engine 1002.According to one embodiment, the order history database 124 includes oneor more cross-referenced tables that include various order details. Amaster table 1202 includes unique order numbers and the services towhich they correspond. By analyzing the data in this table, the mostpopular product and service categories (i.e. most commonly-ordered) canbe identified. The master table 1202 is linked to one or more orderdetail tables (e.g., table 1204). The data fields in table 1204 includeorder number, associated service provider, service plan, price, date ofthe order, and customer identification. In one embodiment, as this tableincludes the customer and provider identification numbers, this tablecan be linked with provider and customer tables to retrieve providerdetails and customer details associated with a purchase order. From theorder history data, service providers 104 and administrators candetermine the most popular product, the geographical location in whichthat product is most popular, product purchase patterns, locations wherea service provider 104 is unpopular, and many other such determinations.

It will be understood that the order history database 124 may includemore or fewer order-related data fields and tables without departingfrom the scope of the present disclosure.

Exemplary Product Engine

FIG. 13 illustrates an exemplary product engine 1002, and its associatedmodules. As described previously, the engine interacts with the productsand services database 120 and the order history database 124. Forexample, information such as product-specific information (e.g., price,plan name, features, product type, product terms, etc.), financialcharacteristics, offers, sales, promotions, product ratings, and userreviews can be fetched from the products and services database 120,while information such as popularity growth of a product, and patternsdepicting product orders can be retrieved from the order historydatabase 124. For example, the order history database 124 may includeinformation indicating that 135 instances of a particular plan were soldlast month, which is greater than any other sales of this type of plan,suggesting that consumers like this plan or order it frequently, andthus it should be ranked higher. The product engine 1002 includes one ormore programs 1302 and data 1304. According to the embodiment shown, theprograms 1302 further include a fetching module 1306, a weighting module1308, a calculation module 1310, and a ranking module 1312. The data mayinclude one or more look-up tables 1314 incorporating fetched data andother data.

In one embodiment, the fetching module 1306 retrieves products andservices from the databases 120 and 124, including any informationassociated with each product and service. In one embodiment, thefetching module 1306 may retrieve all the products and services from theproducts and services database 120. Alternatively, the fetching module1306 may retrieve only products and services corresponding to aparticular user preference or geographical area. For example, if theuser indicates a preference for only Internet services and cableservices, the fetching module 1306 may retrieve data corresponding onlyto these two services. Alternatively, if the user 106 provides addressinformation, the fetching module 1306 may fetch products and servicespertaining to the user's address. It will be understood that the datafetched by the fetching module 1306 can be governed by other factors aswell, such as preferred service providers, active service providers, andso on, without departing from the scope of the present disclosure.

The weighting module 1308 assigns weights to parameters associated withthe third party products and services. Weighting is used in order toappropriately rank products and services based on desired criteria. Forexample, it may be determined that price is the most important parameterassociated with all products and services. Thus, the price parameterwill be given the greatest weight for a subsequent ranking calculation.As referred to herein, a “parameter” relates to an item of informationassociated with each product or service. For example, a parameter may bethe price of the product or service, or a popularity rating assigned toeach product or service, or the duration of a given service (e.g.,6-month contract required), etc. Further exemplary parameters includegross revenue of each product or service, conversion rate, completionrate (i.e., percentage of services actually installed as compared toordered), payment rate (i.e. percentage of services actually paid for ascompared to ordered), popularity index, special promotions, plan price,and growth rate. Based on certain criteria, weights are assigned tothese parameters. For example, higher weights may be assigned to planprice or plan popularity index as compared to gross revenue orconversion rates.

Before assigning weights, the weighting module 1308 may standardize thevalues for each parameter, if the values are not in a standard format.For example, it may be difficult to compare product price to apopularity index, as these are two different measures (i.e., dollars ascompared to a popularity value). Thus, each of these parameters may benormalized based on a standard value (e.g., 3, 2, or 1 for high, medium,or low; or a percentage value for each particular parameter in aparticular product or service as compared to an average that parametertype across all products and services). The parameters and weights maybe pre-determined and stored in the look-up table 1314, or the system oran administrator can dynamically select parameters and weights for theproducts and services, etc.

The calculation module 1310 performs calculations on the weightedparameters to obtain a score for each fetched product or service. In oneembodiment, the weight assigned to each parameter is multiplied by theparameter value to obtain a composite score for the particular productor service. The calculated score for each parameter is totaled to obtaina final score for each product or service. This final score is used torank each product or service in order of recommendation. Thus, if agiven product or service included a low price, but high popularityvalue, then that product or service may achieve a high composite score,and may be given a corresponding high rank.

The ranking module 1312 generates an ordered list of products orservices based on the final score for each product or service, andstores it within the products and services database 120. In oneembodiment, the products or services are segregated based on theservice. For each service type, an ordered list is maintained in theproducts and services database 120. For example, the scores of all thewater delivery services are tallied to generate a ranked list of waterdelivery services. Further, as mentioned previously, the ranking module1312 may provide color-coded schema to differentiate between theservices. The ranking module 1312, for instance, can assign green forexcellent products or services, yellow for average rated products, andred for low rated products. As discussed previously, these rankedresults cart be provided to a consumer for review and selection, or to acustomer service representative to suggest certain products or servicesto the consumer, or otherwise used as will occur to one of ordinaryskill in the art.

Once the products and services are ranked according to predefinedcriteria, the ranked results may be provided to the filter 1008 and/orrecommendation engine 1010 for further processing and or presentment tousers. Additionally, the ranked results may be utilized independently byservice providers 104 to optimize their products or services, and inturn enhance consumer experience.

Exemplary User Information Database

FIG. 14 illustrates an exemplary user information database schema 1400.As described previously, the information in the user informationdatabase is generally used as an input into the user profile engine1006. As described in reference to FIGS. 11 and 12, the customerinformation database 116 may also comprise a relational databaseincluding a number of inter-related tables. In the embodiment shown, theschema 1400 includes a master user table 1402 with names of all thesystem's customers along with their usernames and unique user IDs. Thistable 1402 may be related or connected to one or more other tables, suchas a user details table 1404, which includes user profile detailsincluding user age, family size, address, zip code, user profile rating,income, credit score, and other relevant details. Other data fields ortables may include information such as user contact details, paymentdetails, credit card information, user password, and so on. One suchtable, a purchase history table 1406, includes information pertinent tothe user's purchase history. The data fields in the purchase historytable 1406 may include user ID, order numbers, product or servicepurchased, product rank at the time of purchase, and customersatisfaction with product or service. It will be understood that thetables in the user database may have more or fewer data fields, orcompletely different data fields, as compared to the exemplary tablesdepicted in FIG. 14. Further, the type, number, and size of the tablesmay also vary without departing from the scope of the presentdisclosure.

Exemplary User Profile Engine

FIG. 15 is a block diagram of an exemplary user profile engine 1006. Asmentioned previously, the engine interacts with the customer informationdatabase 116 to classify users in one or more categories, or rank usersbased on information associated with each user. To this end, andaccording to one embodiment, the user profile engine 1006 includes oneor more programs 1502 and data 1504. The programs include anidentification module 1506, an input module 1508, a fetching module1510, and a classification module 1512. The data 1504 may include one ormore look-up tables 1514. As will be understood and appreciated, theuser profile engine 1006 shown in FIG. 15 is but one embodiment of thisengine as contemplated by the present disclosure.

The identification module 1506 prompts the user 106 to input useridentification information through the user interface 126. The useridentification information may include user name, user ID, verificationpassword or information, user email address, telephone number, and othersuch information. On receiving the user identification information, theidentification module 1506 may query the master user table 1402 in theuser information database to verity the user 106.

The identified user is prompted by the input module 1508 to provideadditional information such as user preferences and address details. Inone embodiment, the input module 1508 may retrieve the last saved useraddress and request the user 106 to confirm the address details. Theuser 106 may intimate the system of his or her preferences either byinputting requested particular products or services, or by selecting oneor more products or services from an extensive displayed list ofproducts or services. In an alternative embodiment, the input module1508 may prompt the user to drill down further in the list of selectedservices to provide service provider preference. Here, the user mayselect one or more service providers for the selected services. In someinstances, the input module 1508 may request users to provide additionalinformation, such as financial details, credit scores, age, family size,and so on.

The fetching module 1510 retrieves all information pertaining to theidentified user. The customer information database 116 may includeinformation such as personal details, age, marital status, family size,annual income, credit scores, and other user related information. In afew cases, some of this information may not be available in the customerinformation database 116; in these cases, the fetching module 1510 mayprompt the input module 1508 to request the user 106 to provide thesedetails, or may obtain information from external sources 110.

The classification module 1512 receives user details from the fetchingmodule 1510 and standardizes the information if needed (similarly to thestandardization of parameters in the product engine 1002). Based on oneor more user detail parameters (i.e., the specific items of informationstored or retrieved for each user), the classification module 1512categorizes the users. Administrators may specify one or moreclassification schemes, based on the parameters, such as high, medium,low profile; premier customer, gold customer, silver customer; highpriority customer, regular customer; service based categorization, oraddress based categorization. Alternatively, customers may be ranked(e.g., on a scale of 1-10) according to a composite score of weightedparameters associated with each user, wherein the ranking corresponds toa certain criteria (e.g., high value customer, new customer, etc.).

For each classification scheme, a different set of parameters may beused. For example, to classify users as premier, gold, or silvercustomers, the classification module 1512 may use a user's purchasehistory information, income details, and credit scores. Alternatively,to classify users 106 based on required services, the user preferenceinformation alone may be used. It will be understood that a number ofclassification systems may be contemplated, using one or more userdetail parameters. Further, the classification module 1512 may applydifferent weights to the parameters; for example while classifying usersas premier, gold, and silver, the classification module 1512 may assignhigher weights to the user's purchase history as compared to the user'sincome or age. Generally, the weights, parameters, and classificationschemes used are predetermined by a system administrator. In oneembodiment, however, these factors are identified dynamically based onpattern recognition within users.

The values corresponding to the parameters may be calculated to obtain afinal score for the user 106. Each category in a classification systemcan include a range of sores, and this information is stored in thelook-up table 1514. By tallying the user's score with the categoryranges in the look-up table 1514, the classification module 1512 assignsa category to the user 106. User classification in this manner may beused internally within the computer system 102 to manage call centerqueues, optimize user experience, and optimize call handing times. Forexample, high value customers can be addressed first.

Also, the user classifications can be used to filter certain products orservices via the filtering module 1008. For example, once a product andservice ranking for a particular customer is retrieved, some of theproducts or services may be removed from the list (or moved in terms ofpriority in the list) based on a customer's classification (e.g.,expensive products may be removed for customers in a “low value” classcorresponding to low incomes). Further, the user profile information maybe provided to the recommendation engine 1010 to provide the mostrelevant results to the user 106.

Exemplary Address Database

FIG. 16 is a database schema 1600 illustrating exemplary data tables inthe address database 122. Similar to FIGS. 11, 12 and 14, the tables inthis exemplary database have pointers and relations, cross-referencingdata from one table to another. According to the embodiment shown inFIG. 16, the schema 1600 includes a master address table 1602 includingaddress information for particular geographic regions or areas. Forexample, the master address table 1602 may store city, state, county,etc., data for every zip code in the US. Each address or entry in themaster table 1602 is associated with a unique address identifier (AID).The database may include separate tables for each AID, with actualresidence or location addresses within each particular AID. For example,within AID 00003, there may be sub-identifiers for each apartmentnumber, or specific address, or building, etc. This information isdepicted in an exemplary address detail table 1604. Further, each entryin the address detail table 1604 may have a detailed address profiletable, such as an address profile table 1606. This table 1606 mayinclude specific details about each residence, such as residence type,number of rooms, plot size, capabilities available at the residence, andother similar details. It will be understood that various otherparameters may be included in the address profile table 1606, describingvarious other property details, such as previous services installed orprovided at the address, services providers used previously orcurrently, and so on. It will also be understood that these tables aremerely exemplary and may not represent the actual number or type oftables, or data values that may be present in the address database 122.

Exemplary Location Engine

FIG. 17 illustrates an exemplary location engine 1004 according to oneembodiment of the present disclosure. As mentioned previously, thelocation engine 1004 interacts with the address database 122 to providea list of services and products available and suitable for a givenproperty. To this end, the location engine 1004 includes one or moreprograms 1702 and data 1704. In the embodiment shown, the programsinclude an input module 1706, a fetching module 1708, an analyzer 1710,and a calculator 1712. The data 1704 may include one or more look-uptables 1714.

In one embodiment, the user profile engine 1006 and the location engine1004 may share a common input module to receive user inputs.Alternatively, each engine may have its own input module. The inputmodule 1706 retrieves address information from the user. In an instancein which the user has already provided the address information, theinput module 1706 may verify this information with the user.

The fetching module 1708 retrieves information pertinent to the addressprovided by the user. For example, the fetching module 1708 may retrievedata similar to that shown in address profile table 1606. In a situationin which the user does not provide complete address information, thedatabase may retrieve higher-level address details such as city orstreet details, and address details corresponding to the city or streetaddress. If the database has insufficient information, the fetchingmodule 1708 may prompt the input module 1706 to retrieve moreinformation from the user, such as residence type (e.g., apartment,condominium, stand-alone home, etc.) and ownership information (e.g.,rented or owned). Further, the fetching module 1708 may retrieve data,such as geographical areas serviced by the provider, from the productsand services database 120.

The analyzer 1710 receives the fetched information and determines a listof services available at the user address. By comparing the user zipcode or street address with information regarding geographical areasserviced by the provider, the analyzer 1710 can populate a list ofservices and service providers available at the user address. In oneembodiment, the analyzer 1710 stores this list in the address database122 corresponding to the user address. Accordingly, the next time theuser requests a service, these steps may be skipped and the list ofavailable services can be simply retrieved from the address database 122along with the other address information.

This populated list is provided to the calculator 1712 along with otherhouse details. Similarly to the product engine 1002 and user profileengine 1006, the calculator 1712 in the location engine 1004 usesdetails and information associated with a user's address to determinewhich products best meet the needs of the user living in the givenproperty. Using one or more parameters with associated weights, thecalculator 1712 derives a score that can be used to classify the givenproperty or associate particular products and services with theproperty. For example, if the house is an individual property in thesuburbs, the calculator 1712 may recommend a security system for thehousehold to protect the household and family members from unwantedintruders. For an older properly, the calculator 1712 may recommend homewarranty products based on an assumption that properties over a certainage are more likely to have issues or problems. As will be understood,predetermined rules and criteria are used to dictate which products andservices should be associated with properties in a given class. Offeringthese tailored services to consumers helps build trust, increase salesprobability, and reduce the handle time and other costs that in turnresult in optimal user experience. Information about previous productsor services connected in the home is also used to offer the mostappropriate solutions to users. For example, if a home was previouslywired for home security, the calculator 1712 can recommend a homesecurity product to the new tenants due to reduced installation costsand logistical overhead.

According to one embodiment, the personalized information derived fromthe personalization engine 1004 is provided to the filter 1008 and therecommendation engine 1010 to obtain a final list of productrecommendations for the user.

EXEMPLARY METHOD(S)

The following sections describe exemplary methods for carrying out oneor more embodiments of the present disclosure. The methodology describedherein is generally intended to describe various features andfunctionality of various system components described previously. Theorder in which the methods are described is not intended to be construedas a limitation, and any number of the described method blocks can becombined in any order to implement the method, or an alternate method.Additionally, individual blocks may be deleted from the methods withoutdeparting from the spirit and scope of the subject matter describedherein. Furthermore, the method can be implemented in any suitablehardware, software, firm ware, or combination thereof.

FIG. 18 is a flowchart illustrating an exemplary method 1800 forrecommending third party products and services to a user. At step 1802,the third party products and services are ranked, as describedpreviously in conjunction with FIGS. 11-13, and others. In oneembodiment, the product engine 1002 ranks not only the products andservices, but also the product and service providers 104 and their plansusing one or more factors associated with the third party products andservices.

At step 1804, a user profile is generated for a given user. The userprofile engine 1006 classifies the user under one or more categoriesdepending on one or more user-related parameters (as describedpreviously in conjunction with FIGS. 14, 15, and others). For example,the user may be classified as a premier customer if the user is a highlyactive customer (e.g., a customer that frequently uses the electronicfacilitation system 102) with a good credit score. Alternatively, a usermay be classified as a low profile customer if the user has rarelypurchased any item from the electronic system 102, or has a poor creditscore. In some embodiments, the user profile may be stored in the userinformation database 116, and subsequently retrieved as needed, suchthat a user profile calculation does not have to be performed at a laterdate. In some other embodiments, the user may be upgraded based onrecent activity. The user profile may be updated each time the customervisits the system, or at predefined periods.

At step 1806, a user location is determined. As described previously,the user location may be retrieved based on stored information, or maybe input by the user during the product or service ordering session.

At step 1808, a determination is made regarding the most appropriateproducts and services for the user based on the geographical location ofthe user. The location engine 1004 determines the services or productsavailable at the user's address, and analyzes the address parameters todetermine the best products or services for the household.

At step 1810, the ranked third party products and services are filteredbased on user profile and the geographical location of the user. Forexample, if the user profile is “low” (e.g., the user has low income anda low credit score) and the user resides in Oklahoma City, the filter1008 can remove third party products and services from the ranked listthat require high credit scores and that do not operate in Oklahoma.

At step 1812, the filtered results are dynamically ranked. Here, basedon the ranked services and products, user preferences, user profile,user address, and address associated service recommendations, therecommendation engine 1010 determines the most suitable products andservices for the user, in one embodiment, the recommendation engine 1010can assign different weights to the parameters and outputs of the otherengines 1002, 1004, 1006, and provide an ordered list of results for theuser based on various predetermined criteria. For example, in oneembodiment that is focused on user satisfaction, the user preferenceparameter may be assigned the highest comparative weight. The orderedoutput list is provided to the user for further action. Based on theranked list (e.g., FIG. 6), the user may select services or products toacquire or purchase. Additionally, as described, the ranked list may beused by a customer service representative interacting with the user tosuggest optimal products or services to the user. Or, the most optimalor highest ranked product or service can be automatically ordered orselected by the user. As will be understood, the ranked list of productsor services can be used in a variety of ways as will occur to one ofordinary skill in the art.

FIG. 19 is a flowchart illustrating an exemplary process 1900 forranking third party products and services, prior to further analyzingthose services and recommending optimal pro ducts and services to auser. According to one embodiment, the ranking process 1900 is performedby the product engine 1002. At step 1902, third party product andservice information is retrieved. In one embodiment, the product engine1002 retrieves this product and service information from the productsand services database 120, and the order history database 124. At thenext step, step 1904, the product engine 1002 retrieves factors (i.e.,parameters) associated with the third party products and services. Thefactors may include consumer experience information, on-going promotionsor sales information, plan type, plan price, product reviews, productpopularity, number of sales, and other such factors.

At step 1906, weights are assigned to the retrieved factors. In oneembodiment, the weighting module 1308 assigns pre-specified weights froma look-up table. Alternatively, an administrator can modify the weightson the fly.

Next, for each third party product or service, a composite score iscalculated at step 1908. The weights identified at step 1906 aremultiplied by the value of each factor to obtain a mathematical value.The value for each factor is totaled to obtain a total score for theproduct or service. As mentioned previously, in some embodiments, thefactors are normalized or standardized (e.g., assigned a value based onrelative size, percentage, etc.) prior to being multiplied by thepredetermined weightings so that the data can be analyzed in astandardized fashion.

Based on the total scores, the ranking module 1312 orders the thirdparty products and services, at step 1910. Generally, each product orservice category includes an associated ranked list of serviceproviders. Finally, the ranked results may be stored in the products andservices database 120 for subsequent use.

FIG. 20 is a flowchart illustrating an exemplary method process 2000 forgenerating a user profile (i.e., classifying a user). According to oneembodiment, the process 2000 is carried out by the user profile engine1006. At step 2002, a user is identified that is accessing thefacilitation system 102 via the user interface 126 (or via a customerservice representative accessing the user interface). To this end, theidentification module 1506 requests the user to provide identificationinformation such as user name, email address, telephone numbers, socialsecurity number, date of birth, verification password, account number,account name, or identification information. This information iscompared with a list of customers in the customer information database116 to authenticate the user.

As step 2004, the fetching module 1510 retrieves systematically storeduser information and preference history from the customer informationdatabase 116

At step 2006, user preferences are retrieved. In one embodiment, theinput module 1508 prompts the user to provide preference information.Any technique known in the art can be used to receive this informationfrom the user. In some embodiments, if some information is missing inthe user details retrieved from the database, the input module 1508 canquery the user for this information.

User preference and details are provided to the classification module1512 at step 200 to classify the user. As described with reference toFIG. 15, one or more classification systems may be utilized and one ormore user detail parameters may be utilized by the classificationsystems in order to categorize the user. Alternatively, user profileinformation may also be available in the customer information database116, and that profile information can be used instead of performing thisoperation again.

At step 2010, the user classification data is stored in the customerinformation database 16 for subsequent use.

FIG. 21 is a flowchart illustrating an exemplary process 2100 fordetermining the most appropriate products or services based on a useraddress. According to one embodiment, the process 2100 is carried out bythe location engine 1004. At step 2102, primary user address informationis obtained. In one embodiment, the user is prompted to provide addressinformation, in another embodiment, however, the customer informationdatabase 116 may already contains the user's updated addressinformation, which may be provided to the user for verification.Alternatively, the system assumes that the stored address details areaccurate and does not prompt the user for any input.

At step 2104, secondary address information is retrieved from theaddress database 122. This information may include details about theproperty, such as property type, size, address history, house plan,census data, ownership information, and so on. The primary and secondaryaddress information is analyzed in the next step, step 2106. Theanalyzer 1710 can compare the primary address information withinformation regarding the geographical area serviced by a serviceprovider to determine availability of products or services at the user'saddress.

At the next step, step 2108, the available third party products andservices are shortlisted (i.e., filtered) and stored along with theaddress details. In one embodiment, this shortlisted data is alreadyavailable in the address database 122, and the address engine does notperform this analysis every time. Instead, the product engine 1002 maysimply retrieve this information from the address database and move tothe next step.

At step 2110, the calculator 1712 determines the most appropriate thirdparty shortlisted products or services based on the secondary addressinformation. This determination may be made by considering one or moresecondary information parameters, such as house type, previous productsor services installed in the property, number of rooms, and otherpertinent parameters. This list of most appropriate products andservices is utilized by the recommendation engine 1010 to provide theranked list 160.

As mentioned previously, the outputs of each process 1900, 2000, and2001 are used by process 1800 to suggest optimal third patty productsand services to users.

Systems and methods disclosed herein may be implemented in digitalelectronic circuitry, in computer hardware, firmware, software, or incombinations of them. Apparatus of the claimed invention can beimplemented in a computer program product tangibly embodied in amachine-readable storage device for execution by a programmableprocessor. Method steps according to the claimed invention can beperformed by a programmable processor executing a program ofinstructions to perform functions of the claimed invention by operatingbased on input data, and by generating output data. The claimedinvention may be implemented in one or several computer programs thatare executable in a programmable system, which includes at least oneprogrammable processor coupled to receive data from, and transmit datato a storage system, at least one input device, and at least one outputdevice, respectively. Computer programs may be implemented in ahigh-level or object-oriented programming language, and/or in assemblyor machine code. The language or code can be a compiled or interpretedlanguage or code. Processors may include general and special purposemicroprocessors. A processor receives instructions and data frommemories. Storage devices suitable for tangibly embodying computerprogram instructions and data include all forms of non-volatile memory,including by way of example, semiconductor memory devices, such asEPROM, EEPROM, and flash memory devices; magnetic disks such as internalhard disks and removable disks; magneto-optical disks; and Compact Disk.Any of the foregoing can be supplemented by or incorporated in ASICs(application-specific integrated circuits).

The specification has described a system suitable for product or serviceacquisition from an order facilitation service. The foregoingdescription of the exemplary embodiments has been presented only for thepurposes of illustration and description and is not intended to beexhaustive or to limit the disclosure to the precise forms disclosed.Many modifications and variations are possible in light of the aboveteaching.

The embodiments were chosen and described in order to explain theprinciples of the systems and their practical application so as toenable others skilled in the art to utilize the systems and variousembodiments and with various modifications as are suited to theparticular use contemplated. Alternative embodiments will becomeapparent to those skilled in the art to which the present disclosurepertains without departing from their spirit and scope. Accordingly, thescope of the present inventions is defined by the appended claims ratherthan the foregoing description and the exemplary embodiments describedtherein.

What is claimed is:
 1. A computer-implemented method for recommendingone or more third party products and services to a user, comprising thesteps of: receiving information relating to third party products andservices, wherein the information for each third party product andservice includes one or more factors indicative of product and servicespecifics; ranking the third party products and services based on theone or more factors; generating a user profile based on one or moreuser-related parameters; determining appropriate third party productsand services for the user from the ranked third party products andservices based on a geographical location associated with the user;filtering the ranked third party products and services based on the userprofile, and based on the appropriate third party products and servicesdetermined from the geographical location of the user; and providing theuser with one or more optimal third party products and servicesextracted from the filtered third party products and services.
 2. Thecomputer-implemented method of claim 1, wherein the one or more factorsare selected from the group comprising: consumer experience information,on-going promotions or sales information, information regarding planmetrics, product or service rating information, product or servicepopularity, product or service reviews, product or serviceprofitability, product or service type, price, product or servicedetails, or number of sales.
 3. The computer-implemented method of claim1, wherein the step of ranking comprises: retrieving the one or morefactors related to each third party product and service; assigningweights to the retrieved factors; calculating a score for each thirdparty product and service based on the weighted factors; and ranking thethird party products and services based on the scores.
 4. Thecomputer-implemented method of claim 3, wherein the step of assigningweights to the retrieved factors comprises using a look-up table todetermine predetermined weights corresponding to the factors.
 5. Thecomputer-implemented method of claim 1, wherein the step of generatingcomprises: identifying the user; retrieving user information andpreference history information pertinent to the user; receiving userpreferences; and classifying the user into one or more categories basedon the user preferences, user information, and preference historyinformation.
 6. The computer-implemented method of claim 5, wherein thestep of identifying the user comprises: receiving one or more userdetails selected from user name, email address, telephone number, socialsecurity number, date of birth, verification password, account number,account name, or user ID; and comparing the received user details withuser information stored in a database.
 7. The computer-implementedmethod of claim 5, wherein the step of retrieving user informationincludes retrieving one or more of census demographics, age of the user,user's family size, marital status of the user, census income datapertaining to the user, or the user's credit score.
 8. Thecomputer-implemented method of claim 5, wherein the step of classifyingthe user into one or more categories includes classifying the user as atleast one of: high profile customer, low profile customer, mediumprofile customer, high value customer, low value customer, medium valuecustomer, a particular age group, or a particular preference group. 9.The computer-implemented method of claim 1, wherein the step ofdetermining comprises: obtaining the geographical location of the user;retrieving location information pertaining to the geographical locationof the user; analyzing the location information to determineavailability of third party products and services to the geographicallocation of the user; and determining appropriate third party productsand services based on the geographical location of the user, and thelocation information.
 10. The computer implemented method of claim 9,wherein the step of retrieving location information includes fetching atleast one of address information, address history, residence plan,residence specifications, residence type, census data, or ownershipinformation.
 11. A system for providing recommendations to a user for aplurality of third party products and services, the system comprising: aproduct engine for ranking the third party products and services basedon one or more factors; a profile engine for generating a user profilebased on one or more user-related factors; a location engine fordetermining appropriate third party products and services from theranked third party products and services based on a geographicallocation associated with the user; a filtering engine for filtering theranked third party products and services based on the user profile, andbased on the appropriate third party products and services determinedfrom the geographical location of the user; and an output engine forproviding the user with one or more optimal third party products andservices extracted from the filtered third party products and services.12. The system of claim 11, wherein the one or more factors are selectedfrom the group comprising: consumer experience information, on-goingpromotions or sales information, information regarding plan metrics,product or service rating information, product or service popularity,product or service reviews, product or service profitability, product orservice type, price, product or service details, or number of sales. 13.The system of claim 11, wherein the ranking engine includes: a fetchingmodule for retrieving the one or more factors related to each thirdparty product and service; a weighting module for assigning weights tothe retrieved factors; a calculation module for calculating a score foreach third party product and service based on the weighted factors; anda ranking module for ranking the third party products and services basedon the scores.
 14. The system of claim 12, wherein the weighting moduleassigns weights to the retrieved factors using a look-up table todetermine predetermined weights corresponding to the factors.
 15. Thesystem claim 11, wherein the profile engine includes: an identificationmodule for identifying the user; an input module for receiving one ormore third party product kind service preferences from the user; afetching module for retrieving user information and preference historyinformation pertinent to the user; and a classification module forclassifying the user into one or more categories based on the thirdparty product and service preferences, user information, and preferencehistory information.
 16. The system of claim 15, wherein theidentification module is configured to identify the user by: receivingone or more user details selected from user name, email address,telephone number, social security number, date of birth, password,account number, account name, or user ID); and comparing the receiveduser details with user information stored in a database.
 17. The systemof claim 15, wherein the fetching module retrieves user including one ormore of census demographics, age of the user, user's family size,marital status of the user, census income data pertaining to the user,or user's credit score.
 18. The system of claim 15, wherein theclassification module classifies the user into one or more categoriesincluding high profile customer, low profile customer, medium profilecustomer, high value customer, low value customer, medium valuecustomer, to particular age group, or a particular preference group. 19.The system of claim 11, wherein the location engine includes: an inputmodule for obtaining the geographical location of the user; a fetchingmodule for retrieving location information pertaining to thegeographical location of the user; an analyzer for analyzing thelocation information to determine availability of third parts productsand services to the geographical location of the user; and a calculatorfor determining appropriate third party products and services based onthe geographical location of the user, and the location information. 20.The system of claim 19, wherein the fetching module retrieves locationinformation including at least one of address information, addresshistory, residence plan, residence specifications, residence type,census data, or ownership information.
 21. In a system for facilitatingpurchase by users of third party products and services offered by one ormore third party product and service providers, wherein the third partyproducts and services correspond to geographical locations associatedwith the users, a method for identifying optimal third party products adservices for a user, comprising the steps of: receiving product/serviceinformation corresponding to a plurality of products/services offered bythe one or more third party product and service providers, wherein theproduct/service information includes a plurality of parameters, eachproduct/service including one or more parameters; standardizing theplurality of parameters based on one or more predefined rules; assigninga predefined weight to each of the plurality of standardized parameters;calculating a composite score for each product/service offered by theone or more third party product and service providers based on thestandardized parameters and predefined weights associated with eachproduct/service; and generating one or more optimal product/servicerecommendations for the user based on the composite score for eachproduct/service according to a predefined ranking scheme, whereby theone or more optimal product/service recommendations are user to suggestone or more products or services to the user that best it the user'sneeds.